$lbConf = MWLBFactory::applyDefaultConfig(
$mainConfig->get( 'LBFactoryConf' ),
$mainConfig,
- $services->getConfiguredReadOnlyMode()
+ $services->getConfiguredReadOnlyMode(),
+ $services->getLocalServerObjectCache(),
+ $services->getMainObjectStash(),
+ $services->getMainWANObjectCache()
);
$class = MWLBFactory::getLBFactoryClass( $lbConf );
},
'LinkRenderer' => function ( MediaWikiServices $services ) : LinkRenderer {
- global $wgUser;
-
if ( defined( 'MW_NO_SESSION' ) ) {
return $services->getLinkRendererFactory()->create();
} else {
- return $services->getLinkRendererFactory()->createForUser( $wgUser );
+ return $services->getLinkRendererFactory()->createForUser(
+ RequestContext::getMain()->getUser()
+ );
}
},
},
'ResourceLoader' => function ( MediaWikiServices $services ) : ResourceLoader {
- return new ResourceLoader(
- $services->getMainConfig(),
+ $config = $services->getMainConfig();
+
+ $rl = new ResourceLoader(
+ $config,
LoggerFactory::getInstance( 'resourceloader' )
);
+ $rl->addSource( $config->get( 'ResourceLoaderSources' ) );
+
+ return $rl;
},
'RevisionFactory' => function ( MediaWikiServices $services ) : RevisionFactory {
},
'SiteLookup' => function ( MediaWikiServices $services ) : SiteLookup {
- $cacheFile = $services->getMainConfig()->get( 'SitesCacheFile' );
-
- if ( $cacheFile !== false ) {
- return new FileBasedSiteLookup( $cacheFile );
- } else {
- // Use the default SiteStore as the SiteLookup implementation for now
- return $services->getSiteStore();
- }
+ // Use SiteStore as the SiteLookup as well. This was originally separated
+ // to allow for a cacheable read-only interface (using FileBasedSiteLookup),
+ // but this was never used. SiteStore has caching (see below).
+ return $services->getSiteStore();
},
'SiteStore' => function ( MediaWikiServices $services ) : SiteStore {